home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 005 / homebudp.arc / HOMEBUDP.BAS
Encoding:
BASIC Source File  |  1985-09-27  |  13.1 KB  |  414 lines

  1. 10 CLS
  2. 15 KEY OFF
  3. 30 REM ** HOME BUDGETING/CASHFLOW ANALYSIS *** PRINTING VERSION
  4. 31 REM ***********************************************************
  5. 35 PRINT"THIS IS THE PRINTING VERSION OF HOME BUDGETING/CASHFLOW ANALYSIS"
  6. 36 PRINT:PRINT"PLEASE SEE THAT THE PRINTER IS READY"
  7. 40 DEFDBL A-Y:DEFINT Z
  8. 50 DIM D(12),I0(10,2),C0(10,3),C1(10,5),C1$(10),E0(25,2)
  9. 55 LPRINT
  10. 60 PU$="$$####,###.##"
  11. 69 REM ***********************************************************
  12. 70 REM ** D()   DAY OFFSET FACTORS
  13. 80 REM ** I0()  SALARIED INCOME
  14. 90 REM ** C1()  CREDIT EXPENSES
  15. 100 REM ** E0() EXPENSES
  16. 110 REM ** C1$()DESCRIPTIONS OF CREDIT CARDS
  17. 120 REM ** C0() FIXED-TERM LOANS
  18. 121 REM ***********************************************************
  19. 130 DATA "MORTGAGE","CAR LOAN","OTHER LOAN"
  20. 140 REM ** EXPENSES
  21. 141 REM ***********************************************************
  22. 150 DATA "PROPERTY TAX","RENT"
  23. 160 DATA "LIFE INSURANCE","HOUSE INSURANCE","CAR INSURANCE"
  24. 170 DATA "TELEPHONE","GAS & ELECTRIC","WATER","TRASH PICKUP"
  25. 180 DATA "GROCERIES","CLOTHING","PHYSICIAN","DENTIST"
  26. 190 DATA "DRUGS","TUITION","CHILD CARE","GAS/OIL"
  27. 200 DATA "AUTO REPAIR","COMMUTING","MEDICAL PLAN"
  28. 210 DATA "HOME REPAIR","RESTAURANTS","MOVIES/CONCERTS"
  29. 220 DATA "SUBSCRIPTIONS","MISCELLANEOUS"
  30. 230 D(1)=31
  31. 240 D(2)=28
  32. 250 D(3)=31
  33. 260 D(4)=30
  34. 270 D(5)=31
  35. 280 D(6)=30
  36. 290 D(7)=31
  37. 300 D(8)=31
  38. 310 D(9)=30
  39. 320 D(10)=31
  40. 330 D(11)=30
  41. 340 D(12)=31
  42. 350 D$="SATSUNMONTUEWEDTHUFRI"
  43. 360 LPRINT"HOME BUDGETING/CASHFLOW MODEL  ";DATE$
  44. 370 LPRINT:LPRINT:LPRINT
  45. 380 LPRINT SPC(10)"DATE TO START ANALYSIS FROM: "
  46. 381 PRINT SPC(10)"DATE TO START ANALYSIS FROM: "
  47. 390 GOSUB 3180
  48. 400 D1=D2
  49. 410 Y1=Y
  50. 420 M1=M
  51. 430 D4=Y*10000+M*100+D2
  52. 440 LPRINT
  53. 450 REM ** ENTER INCOMES -- AMOUNTS & FREQUENCY
  54. 451 REM ***********************************************************
  55. 460 ZI2=0
  56. 470 X$="INCOME"
  57. 480 LPRINT "-----------NET SALARY";ZI2+1;"-------------------"
  58. 481 PRINT "-----------NET SALARY";ZI2+1;"-------------------"
  59. 490 GOSUB 2530
  60. 500 IF A2(1)=0 THEN 550
  61. 510 ZI2=ZI2+1
  62. 520 I0(ZI2,1)=A2(1)
  63. 530 I0(ZI2,2)=A2(2)
  64. 540 GOTO 480
  65. 550 PRINT
  66. 560 REM ** ENTER SECURED LOANS
  67. 561 REM ***********************************************************
  68. 570 FOR ZI=1 TO 3
  69. 580 READ X$
  70. 590 LPRINT
  71. 600 GOSUB 2530
  72. 610 IF A2(1)=0 THEN 680
  73. 620 IF A2(1)<0 THEN 590
  74. 630 C0(ZI,1)=A2(1)
  75. 640 C0(ZI,2)=A2(2)
  76. 650 PRINT SPC(23)"CURRENT BALANCE";
  77. 651 LPRINT SPC(23)"CURRENT BALANCE";
  78. 660 INPUT C0(ZI,3):LPRINT C0(ZI,3)
  79. 670 IF C0(ZI,3)<1 THEN 600
  80. 680 NEXT ZI
  81. 689 REM ***********************************************************
  82. 690 REM ** ENTER CREDIT CARDS AND DESCRIPTIONS
  83. 700 REM ** MONTHLY PAYMENTS ARE ASSUMED
  84. 701 REM ***********************************************************
  85. 710 LPRINT
  86. 720 ZK=1
  87. 730 GOSUB 2170
  88. 740 IF C1$(ZK)<="" THEN 770
  89. 750 ZK=ZK+1
  90. 760 GOTO 730
  91. 770 C4=ZK-1
  92. 780 REM ** ENTER EXPENSES
  93. 781 REM ***********************************************************
  94. 790 FOR ZK=1 TO 25
  95. 800 LPRINT
  96. 810 READ X$
  97. 820 GOSUB 2530
  98. 830 E0(ZK,1)=A2(1)
  99. 840 E0(ZK,2)=A2(2)
  100. 850 NEXT ZK
  101. 860 REM ** INPUT PRESENT CASH RESERVES
  102. 861 REM ***********************************************************
  103. 870 PRINT SPC(20)"ENTER CASH ON HAND";
  104. 871 LPRINT SPC(20)"ENTER CASH ON HAND";
  105. 880 INPUT B0:LPRINT B0
  106. 890 REM ** BEGIN ANALYSIS
  107. 891 REM ***********************************************************
  108. 900 LPRINT : LPRINT CHR$(12)
  109. 910 PRINT SPC(6)"CASH FLOWS FOR ";:PRINT USING "##/##";M1, Y1
  110. 911 LPRINT SPC(6)"CASH FLOWS FOR ";:LPRINT USING "##/##";M1, Y1
  111. 920 PRINT SPC(6)"OPENING CASH BALANCE ";TAB(37):PRINT USING PU$; B0
  112. 921 LPRINT SPC(6)"OPENING CASH BALANCE ";TAB(37):LPRINT USING PU$; B0
  113. 930 E1=0
  114. 940 I1=0
  115. 950 FOR ZK1=D1 TO D(M1)
  116. 960 RESTORE
  117. 970 FOR ZJ= 1 TO ZI2
  118. 980 REM ** CHECK FOR INCOME
  119. 981 REM ***********************************************************
  120. 990 IF INT(I0(ZJ,2))>D4 THEN 1110
  121. 1000 B0=B0+I0(ZJ,1)
  122. 1010 I1=I1+I0(ZJ,1)
  123. 1020 M=M1
  124. 1030 D2=D1
  125. 1040 Y=Y1
  126. 1050 D3=INT((I0(ZJ,2)-INT(I0(ZJ,2)))*100+.5)
  127. 1060 A2(1)=D3/100
  128. 1070 GOSUB 2680
  129. 1080 I0(ZJ,2)=A2(1)+Y*10000+M*100+D2
  130. 1090 LPRINT USING "\ \ ##  INCOME ##";A$; D1; ZJ;
  131. 1100 LPRINT TAB(26):LPRINT USING PU$; I0(ZJ,1)
  132. 1110 NEXT ZJ
  133. 1120 REM ** CALCULATE OUTFLOWS FOR FIXED-TERM LOANS
  134. 1121 REM ***********************************************************
  135. 1130 FOR ZJ=1 TO 3
  136. 1140 READ X$
  137. 1150 IF C0(ZJ,3)=0 THEN 1260
  138. 1160 IF INT(C0(ZJ,2))>D4 THEN 1260
  139. 1170 IF C0(ZJ,3)>C0(ZJ,1) THEN 1190
  140. 1180 C0(ZJ,1)=C0(ZJ,3)
  141. 1190 A2(1)=C0(ZJ,1)
  142. 1200 A2(2)=C0(ZJ,2)
  143. 1210 GOSUB 1790
  144. 1220 C0(ZJ,2)=(C0(ZJ,2)-INT(C0(ZJ,2)))+Y*10000+M*100+D2
  145. 1230 LPRINT USING "\ \ ##  & PAYMENT"; A$; D1; X$;
  146. 1240 LPRINT TAB(50):LPRINT USING PU$; -1*A2(1)
  147. 1250 C0(ZJ,3)=C0(ZJ,3)-A2(1)
  148. 1260 NEXT ZJ
  149. 1270 REM ** CALCULATE OUTFLOWS FOR CHARGE CARDS
  150. 1271 REM ***********************************************************
  151. 1280 FOR ZJ=1 TO C4
  152. 1290 IF C1(ZJ,5)>D4 THEN 1410
  153. 1300 IF C1(ZJ,2)=0 THEN 1410
  154. 1310 IF C1(ZJ,2)>C1(ZJ,4) THEN 1330
  155. 1320 C1(ZJ,4)=C1(ZJ,2)
  156. 1330 A2(1)=C1(ZJ,4)
  157. 1340 A2(2)=C1(ZJ,5)+.12
  158. 1350 X$=C1$(ZJ)
  159. 1360 GOSUB 1790
  160. 1370 LPRINT USING "\ \ ##  & ";A$; D1; C1$(ZJ);
  161. 1380 LPRINT TAB(50):LPRINT USING PU$; -1*A2(1)
  162. 1390 C1(ZJ,2)=C1(ZJ,2)-A2(1)
  163. 1400 C1(ZJ,5)=Y*10000+M*100+D2
  164. 1410 NEXT ZJ
  165. 1420 REM CALCULATE OUTFLOWS FOR EXPENSES
  166. 1421 REM **************************************************************
  167. 1430 FOR ZJ= 1 TO 25
  168. 1440 READ X$
  169. 1450 IF E0(ZJ,1)=0 THEN 1530
  170. 1460 IF INT(E0(ZJ,2))>D4 THEN 1530
  171. 1470 A2(1)=E0(ZJ,1)
  172. 1480 A2(2)=E0(ZJ,2)
  173. 1490 GOSUB 1790
  174. 1500 LPRINT USING "\ \ ## &";A$; D1; X$;
  175. 1510 LPRINT TAB(50):LPRINT USING PU$;-1*A2(1)
  176. 1520 E0(ZJ,2)=(E0(ZJ,2)-INT(E0(ZJ,2)))+Y*10000+M*100+D2
  177. 1530 NEXT ZJ
  178. 1540 D1=D1+1
  179. 1550 D4=Y1*10000+M1*100+D1
  180. 1560 M=M1
  181. 1570 D2=D1
  182. 1580 Y=Y1
  183. 1590 GOSUB 3070
  184. 1600 NEXT ZK1
  185. 1610 D3=1
  186. 1620 D2=D(M1)
  187. 1630 M=M1
  188. 1640 Y=Y1
  189. 1650 GOSUB 2930
  190. 1660 D1=D
  191. 1670 M1=M
  192. 1680 Y1=Y
  193. 1690 GOSUB 3070
  194. 1700 D4=Y1*10000+M1*100+D1
  195. 1710 LPRINT TAB(18) "CASH IN: ";:LPRINT USING PU$; I1;
  196. 1720 LPRINT TAB(41) "CASH OUT: ";:LPRINT USING PU$; E1;
  197. 1730 LPRINT
  198. 1731 REM ******************************************************************
  199. 1732 REM  ** EXPERIMENT WITH AUTOMATIC PRINT OF MONTHLY CHARTS TO YEAR END **
  200. 1733 IF JJJ = Y1 THEN 900
  201. 1734 IF JJJ = Y1 - 1 THEN 3450
  202. 1735 JJJ = Y1: GOTO 900
  203. 1736 REM  ***SHOULD EXPERIMENT FAIL...REMOVE 1732 - 1736 ***
  204. 1737 REM ******************************************************************
  205. 1738 REM  ***THEN RESTORE 1739 - 1770 BY REMOVING `REM' HEADING ***
  206. 1739 REM LPRINT"DO YOU WANT TO SEE THE NEXT MONTH (Y/N) ";
  207. 1740 REM PRINT "DO YOU WANT TO SEE THE NEXT MONTH (Y/N) ";
  208. 1750 REM INPUT X0$:LPRINT X0$
  209. 1760 REM IF X0$="Y" OR X0$="y" THEN 900
  210. 1770 REM IF X0$="N" OR X0$="n" THEN 3450
  211. 1780 GOTO 1740
  212. 1790 REM APPLY EXPENSES
  213. 1791 REM ***************************************************
  214. 1800 X0$=" "
  215. 1810 IF B0-A2(1)>=0 THEN 2060
  216. 1820 LPRINT
  217. 1830 PRINT" CASH NEEDED FOR: ";X$;:PRINT USING PU$; A2(1);
  218. 1831 LPRINT" CASH NEEDED FOR: ";X$;:LPRINT USING PU$; A2(1);
  219. 1840 PRINT " ON HAND: ";:PRINT USING PU$;B0
  220. 1841 LPRINT " ON HAND: ";:LPRINT USING PU$; B0
  221. 1850 LPRINT
  222. 1860 PRINT" ENTER         D=DELAY EXPENSE ";
  223. 1861 LPRINT"ENTER         D=DELAY EXPENSE ";
  224. 1870 PRINT"      or       C=USE CREDIT CARD";
  225. 1871 LPRINT"      or       C=USE CREDIT CARD";
  226. 1880 INPUT X0$:LPRINT X0$
  227. 1890 IF X0$="D" OR X0$="d" THEN 2130
  228. 1900 IF X0$<>"C" AND X0$<>"c" THEN 1860
  229. 1910 IF C4=1 THEN X0=1: GOTO 1960
  230. 1920 PRINT "CREDIT CARD NUMBER (1-";C4;"OR ZERO) ";
  231. 1921 LPRINT"CREDIT CARD NUMBER (1-";C4;"OR ZERO) ";
  232. 1930 INPUT X0:LPRINT X0
  233. 1940 IF X0<1 THEN 1860
  234. 1950 IF X0>C4 THEN 1920
  235. 1960 IF C1(X0,2)+A2(1)<=C1(X0,3) THEN 2000
  236. 1970 PRINT "AVAILABLE ";C1$(X0);" CREDIT:";
  237. 1971 LPRINT "AVAILABLE ";C1$(X0);" CREDIT:";
  238. 1980 PRINT USING PU$; C1(X0,3)-C1(X0,2)
  239. 1981 LPRINT USING PU$; C1(X0,3)-C1(X0,2)
  240. 1990 GOTO 1920
  241. 2000 C1(X0,2)=C1(X0,2)+A2(1)
  242. 2010 ZK=X0
  243. 2020 X0$="1"
  244. 2030 GOSUB 2310
  245. 2040 X0$=" "
  246. 2050 GOTO 2070
  247. 2060 B0=B0-A2(1)
  248. 2070 E1=E1+A2(1)
  249. 2080 D3=INT((A2(2)-INT(A2(2)))*100+.5)
  250. 2090 Y=INT(A2(2)/10000)
  251. 2100 M=INT((A2(2)-Y*10000)/100)
  252. 2110 D2=INT((A2(2)-(Y*10000+M*100)))
  253. 2120 REM CALCULATE NEXT DATE
  254. 2121 REM *******************************************************
  255. 2130 GOSUB 2680
  256. 2140 IF X0$<>"D" AND X0$<>"d" THEN 2160
  257. 2150 PRINT USING "EXPENSE IS DELAYED UNTIL ##/##/##"; M, D2, Y
  258. 2151 LPRINT USING "EXPENSE IS DELAYED UNTIL ##/##/##"; M, D2, Y
  259. 2160 RETURN
  260. 2170 REM ROUTINE TO ENTER CREDIT & AND CHARGE CARD DATA
  261. 2171 REM ****************************************************
  262. 2175 LPRINT
  263. 2180 PRINT USING "NAME OF CREDIT CARD ## (RETURN TO END)"; ZK;
  264. 2181 LPRINT USING "NAME OF CREDIT CARD ## (RETURN TO END)"; ZK;
  265. 2190 INPUT C1$(ZK):LPRINT C1$(ZK)
  266. 2200 IF C1$(ZK)<="" THEN 2520
  267. 2210 PRINT SPC(18)"ANNUAL INTEREST RATE";
  268. 2211 LPRINT SPC(18)"ANNUAL INTEREST RATE";
  269. 2220 INPUT C1(ZK,1):LPRINT C1(ZK,1)
  270. 2230 IF C1(ZK,1)<0 THEN 2170
  271. 2240 PRINT SPC(23)"CURRENT BALANCE";
  272. 2241 LPRINT SPC(23)"CURRENT BALANCE";
  273. 2250 INPUT C1(ZK,2): LPRINT C1(ZK,2)
  274. 2260 IF C1(ZK,2)<0 THEN 2210
  275. 2270 PRINT SPC(26)"CREDIT LIMIT";
  276. 2271 LPRINT SPC(26)"CREDIT LIMIT";
  277. 2280 INPUT C1(ZK,3):LPRINT C1(ZK,3)
  278. 2290 IF C1(ZK,3)<0 THEN 2240
  279. 2300 IF C1(ZK,1)=0 THEN 2460
  280. 2310 C1(ZK,4)=INT(.1*C1(ZK,2)*100+.5)/100
  281. 2320 IP=C1(ZK,1)/100
  282. 2330 P1=C1(ZK,2)
  283. 2340 A1=C1(ZK,4)
  284. 2350 IF P1<=0 THEN 2460
  285. 2360 GOSUB 3410
  286. 2370 PRINT A1;" PAYMENTS OF ";:PRINT USING PU$; C1(ZK,4);
  287. 2371 LPRINT A1;" PAYMENTS OF ";:LPRINT USING PU$;C1(ZK,4);
  288. 2380 PRINT " NEEDED TO PAY DEBT"
  289. 2381 LPRINT " NEEDED TO PAY DEBT"
  290. 2390 PRINT SPC(19)"CHANGE AMOUNT (Y/N)";
  291. 2391 LPRINT SPC(19)"CHANGE AMOUNT (Y/N)";
  292. 2400 INPUT X1$:LPRINT X1$
  293. 2410 PRINT
  294. 2411 LPRINT
  295. 2420 IF X1$<>"Y" AND X1$<>"y" THEN 2460
  296. 2430 PRINT SPC(10)"ENTER DESIRED PAYMENT AMOUNT";
  297. 2431 LPRINT SPC(10)"ENTER DESIRED PAYMENT AMOUNT";
  298. 2440 INPUT C1(ZK,4):LPRINT C1(ZK,4)
  299. 2450 GOTO 2330
  300. 2460 IF X0$="1" THEN 2520
  301. 2470 PRINT" ENTER NEXT ";C1$(ZK);" BILLING DATE:"
  302. 2471 LPRINT" ENTER NEXT ";C1$(ZK);" BILLING DATE:"
  303. 2480 A2(2)=0
  304. 2490 GOSUB 2640
  305. 2500 IF X1=-1 THEN 2270
  306. 2510 C1(ZK,5)=A2(2)
  307. 2520 RETURN
  308. 2530 REM ROUTINE TO CALCULATE EXPENSE FREQUENCIES
  309. 2531 REM ******************************************************************
  310. 2540 REM A2() ARRAY CONTAINS RESULTS
  311. 2541 REM ******************************************************************
  312. 2550 PRINT TAB(19-LEN(X$))"PERIODIC AMOUNT FOR ";X$;
  313. 2551 LPRINT TAB(19-LEN(X$))"PERIODIC AMOUNT FOR ";X$;
  314. 2560 INPUT A2(1):LPRINT A2(1)
  315. 2570 IF A2(1)<=0 THEN 2670
  316. 2580 PRINT SPC(15)"HOW MANY TIMES PER YEAR";
  317. 2581 LPRINT SPC(15)"HOW MANY TIMES PER YEAR";
  318. 2590 INPUT A2(2):LPRINT A2(2)
  319. 2600 IF A2(2)<=0 THEN 2550
  320. 2610 IF A2(2)<100 THEN 2640
  321. 2620 PRINT "FREQUENCY CANNOT EXCEED 99 DAYS"
  322. 2621 LPRINT "FREQUENCY CANNOT EXCEED 99 DAYS"
  323. 2630 GOTO 2580
  324. 2640 GOSUB 3180
  325. 2650 IF X1=-1 THEN 2670
  326. 2660 A2(2)=A2(2)/100+Y*10000+M*100+D2
  327. 2670 RETURN
  328. 2680 REM FIND NEXT MONTHLY, BI-MONTHLY
  329. 2690 REM OR QUARTERLY OCCURENCE
  330. 2691 REM ********************************************************************
  331. 2700 IF 24/D3<>INT(24/D3) THEN 2920
  332. 2710 IF D3=24 THEN 2800
  333. 2720 FOR ZK=1 TO 12/D3
  334. 2730 M=M+1
  335. 2740 IF M<=12 THEN 2770
  336. 2750 M=1
  337. 2760 Y=Y+1
  338. 2770 NEXT ZK
  339. 2780 RETURN
  340. 2790 REM CALCULATE NEXT SEMI-MONTHLY OCCURENCE
  341. 2791 REM *********************************************************************
  342. 2800 IF D2<>D(M) OR D2<>1 THEN 2830
  343. 2810 D2=15
  344. 2820 GOTO 2870
  345. 2830 IF D2>D(M) THEN 2860
  346. 2840 D2=D2+15
  347. 2850 RETURN
  348. 2860 D2=D2-15
  349. 2870 M=M+1
  350. 2880 IF M<=12 THEN 2910
  351. 2890 Y=Y+1
  352. 2900 M=1
  353. 2910 RETURN
  354. 2920 D3=INT(365.25/D3)
  355. 2930 REM CALCULATE A DAY D3 DAYS FROM M/D2/Y
  356. 2931 REM *********************************************************************
  357. 2940 IF D2+D3<=D(M) THEN 3050
  358. 2950 D3=D3-(D(M)-D2)
  359. 2960 D2=0
  360. 2970 M=M+1
  361. 2980 IF M<=12 THEN 2940
  362. 2990 Y=Y+1
  363. 3000 M=1
  364. 3010 D(2)=28
  365. 3020 IF Y/4<>INT(Y/4) THEN 3040
  366. 3030 D(2)=29
  367. 3040 GOTO 2940
  368. 3050 D2=D2+D3
  369. 3060 RETURN
  370. 3070 REM SUBROUTINE TO CALCULATE DAY OF WEEK
  371. 3071 REM **********************************************************************
  372. 3080 IF Y>1900 THEN 3100
  373. 3090 Y=Y+1900
  374. 3100 IF M>2 THEN 3130
  375. 3110 M=M+12
  376. 3120 Y=Y-1
  377. 3130 A=D2+2*M+INT(.6*(M+1))+Y+INT(Y/4)
  378. 3140 N=A-INT(Y/100)+INT(Y/400)+2
  379. 3150 N=N MOD 7
  380. 3160 A$=MID$(D$,(N*3)+1,3)
  381. 3170 RETURN
  382. 3180 REM ROUTINE TO ENTER DATE
  383. 3181 REM *********************************************************************
  384. 3190 REM DATE IS PASSED BACK IN M,D2, AND Y
  385. 3200 D(2)=28
  386. 3210 PRINT SPC(9)"ENTER MONTH-DAY-YEAR (mmddyy)";
  387. 3211 LPRINT SPC(9)"ENTER MONTH-DAY-YEAR (mmddyy)";
  388. 3220 INPUT X1: LPRINT X1
  389. 3230 IF X1=0 THEN 3340
  390. 3240 IF X1=-1 THEN 3370
  391. 3250 M=INT(X1/10000!)
  392. 3260 IF M>12 OR M<1 THEN 3210
  393. 3270 Y=INT((X1/100-INT(X1/100))*100+.5)
  394. 3280 IF Y/4<>INT(Y/4) THEN 3300
  395. 3290 D(2)=29
  396. 3300 D2=INT((X1-(M*10000!+Y))/100)
  397. 3310 IF D2<1 THEN 3210
  398. 3320 IF D2>D(M) THEN 3210
  399. 3330 GOTO 3370
  400. 3340 M=M1
  401. 3350 D2=D1
  402. 3360 Y=Y1
  403. 3370 RETURN
  404. 3380 REM SUBROUTINE TO DETERMINE TERM OF LOAN
  405. 3390 REM IP=INTEREST RATE, P1=PRINCIPAL, A1=PAYMENT AMOUNT
  406. 3400 REM ******************************************************************
  407. 3410 A=LOG(1+(IP/12)*12)
  408. 3420 A1=-(LOG(1-(P1*IP)/(12*A1))/A)
  409. 3430 A1=INT(A1*12+.5)
  410. 3440 RETURN
  411. 3450 LPRINT SPC(6) " CLOSING CASH BALANCE ";TAB(37): LPRINT USING PU$;B0
  412. 3460 LPRINT CHR$(12)
  413. 3470 LPRINT CHR$(12): END
  414.